home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / TURB_VIS / TVCC / TESTTVCC.PAS < prev    next >
Pascal/Delphi Source File  |  1992-12-31  |  6KB  |  217 lines

  1. {$X+}
  2. program TestTVCC;
  3.  
  4. uses Dos, Memory, Objects, Drivers, Views, Menus, Dialogs, App,
  5.      TVCC;
  6.  
  7. Const
  8.   cmTryTV = 150;
  9.   cmTryTVCC = 151;
  10.  
  11. type
  12.   TMyApp = object(TTVCCApplication)
  13.     procedure InitStatusLine; virtual;
  14.     procedure HandleEvent(var Event: TEvent); virtual;
  15.   end;
  16.  
  17. var
  18.   MyApp: TMyApp;
  19.  
  20. procedure TMyApp.InitStatusLine;
  21. var R: TRect;
  22. begin
  23.   GetExtent(R);
  24.   R.A.Y := R.B.Y - 1;
  25.   StatusLine := New(PStatusLine, Init(R,
  26.     NewStatusDef(0, $FFFF,
  27.       NewStatusKey('~Alt-X~ Exit', kbAltX, cmQuit,
  28.       NewStatusKey('~F8~ Try TV Style', kbF8, cmTryTV,
  29.       NewStatusKey('~F9~ Try TVCC Style', kbF9, cmTryTVCC,
  30.       nil))),
  31.     nil)
  32.   ));
  33. end;
  34.  
  35. FUNCTION MakeTVCCDialog : PTVCCDialog;
  36. var
  37.   Dlg : PTVCCDialog;
  38.   R : TRect;
  39.   Control, HScroll : PView;
  40.   NewButton : PTVCCButton;
  41.   TVCCButton : PTVCCButton;
  42. Begin
  43.   R.Assign(2,1,76,21);
  44.   New(Dlg, Init(R, 'A TVCC Dialog'));
  45.  
  46.   R.Assign(15,5,27,6);
  47.   Control := New(PInputLine, Init(R, 20));
  48.   Control^.Options := Control^.Options OR ofFramed;
  49.   Dlg^.Insert(Control);
  50.  
  51.     R.Assign(28,5,31,6);
  52.     Dlg^.Insert(New(PHistory, Init(R, PInputline(Control), 100)));
  53.  
  54.     R.Assign(3,5,13,6);
  55.     Dlg^.Insert(New(PLabel, Init(R, '~I~nput Box', Control)));
  56.  
  57.   R.Assign(33,4,44,7);
  58.   Control := New(PCheckboxes, Init(R,
  59.     NewSItem('Box 1',
  60.     NewSItem('Box 2',
  61.     NewSItem('Box 3',Nil)))));
  62.   PCluster(Control)^.SetButtonState($00000001, False);
  63.   Control^.Options := Control^.Options OR ofFramed;
  64.   Dlg^.Insert(Control);
  65.  
  66.     R.Assign(32,2,43,3);
  67.     Dlg^.Insert(New(PLabel, Init(R, '~T~est Check', Control)));
  68.  
  69.   R.Assign(49,4,62,6);
  70.   Control := New(PRadiobuttons, Init(R,
  71.     NewSItem('Radio 1',
  72.     NewSItem('Radio 2',Nil))));
  73.   Control^.Options := Control^.Options OR ofFramed;
  74.   Dlg^.Insert(Control);
  75.  
  76.     R.Assign(48,2,59,3);
  77.     Dlg^.Insert(New(PLabel, Init(R, '~T~est Radio', Control)));
  78.  
  79.   R.Assign(24,10,25,16);
  80.   Control := New(PScrollbar, Init(R));
  81.   Dlg^.Insert(Control);
  82.  
  83.   R.Assign(3,10,23,16);
  84.   Control := New(PListBox, Init(R, 1, PScrollbar(Control)));
  85.   Control^.Options := Control^.Options OR ofFramed;
  86.   Dlg^.Insert(Control);
  87.  
  88.     R.Assign(2,8,12,9);
  89.     Dlg^.Insert(New(PLabel, Init(R, '~T~est List', Control)));
  90.  
  91.   R.Assign(50,10,61,13);
  92.   Control := New(PMultiCheckboxes, Init(R,
  93.     NewSItem('Box 1',
  94.     NewSItem('Box 2',
  95.     NewSItem('Box 3',Nil))), 2, cfOneBit, ' X'));
  96.   Control^.Options := Control^.Options OR ofFramed;
  97.   Dlg^.Insert(Control);
  98.  
  99.     R.Assign(49,8,60,9);
  100.     Dlg^.Insert(New(PLabel, Init(R, '~M~ulticheck', Control)));
  101.  
  102.   { For TVCC style buttons the TTVCCButton object must be used }
  103.  
  104.   R.Assign(29,15,47,18);
  105.   NewButton := New(PTVCCButton, Init(R, '~D~efault Button', cmOk, bfDefault));
  106.   Dlg^.Insert(NewButton);
  107.  
  108.   R.Assign(51,15,70,18);
  109.   TVCCButton := New(PTVCCButton, Init(R, '~N~ormal Button', cmCancel, bfNormal));
  110.   Dlg^.Insert(TVCCButton);
  111.  
  112.   R.Assign(3,2,24,3);
  113.   Control := New(PStaticText, Init(R, ^C'This is a test dialog'));
  114.   Dlg^.Insert(Control);
  115.  
  116.   Dlg^.SelectNext(False);
  117.   MakeTVCCDialog := Dlg;
  118. end;
  119.  
  120. FUNCTION MakeTVDialog : PDialog;
  121. var
  122.   Dlg : PDialog;
  123.   R : TRect;
  124.   Control, HScroll : PView;
  125. Begin
  126.   R.Assign(2,1,76,21);
  127.   New(Dlg, Init(R, 'Normal Turbo Vision Gray Dialog'));
  128.  
  129.   R.Assign(15,5,27,6);
  130.   Control := New(PInputLine, Init(R, 20));
  131.   Control^.Options := Control^.Options OR ofFramed;
  132.   Dlg^.Insert(Control);
  133.  
  134.     R.Assign(28,5,31,6);
  135.     Dlg^.Insert(New(PHistory, Init(R, PInputline(Control), 100)));
  136.  
  137.     R.Assign(3,5,13,6);
  138.     Dlg^.Insert(New(PLabel, Init(R, '~I~nput Box', Control)));
  139.  
  140.   R.Assign(33,4,44,7);
  141.   Control := New(PCheckboxes, Init(R,
  142.     NewSItem('Box 1',
  143.     NewSItem('Box 2',
  144.     NewSItem('Box 3',Nil)))));
  145.   PCluster(Control)^.SetButtonState($00000001, False);
  146.   Control^.Options := Control^.Options OR ofFramed;
  147.   Dlg^.Insert(Control);
  148.  
  149.     R.Assign(32,2,43,3);
  150.     Dlg^.Insert(New(PLabel, Init(R, '~T~est Check', Control)));
  151.  
  152.   R.Assign(49,4,62,6);
  153.   Control := New(PRadiobuttons, Init(R,
  154.     NewSItem('Radio 1',
  155.     NewSItem('Radio 2',Nil))));
  156.   Control^.Options := Control^.Options OR ofFramed;
  157.   Dlg^.Insert(Control);
  158.  
  159.     R.Assign(48,2,59,3);
  160.     Dlg^.Insert(New(PLabel, Init(R, '~T~est Radio', Control)));
  161.  
  162.   R.Assign(24,10,25,16);
  163.   Control := New(PScrollbar, Init(R));
  164.   Dlg^.Insert(Control);
  165.  
  166.   R.Assign(3,10,23,16);
  167.   Control := New(PListBox, Init(R, 1, PScrollbar(Control)));
  168.   Control^.Options := Control^.Options OR ofFramed;
  169.   Dlg^.Insert(Control);
  170.  
  171.     R.Assign(2,8,12,9);
  172.     Dlg^.Insert(New(PLabel, Init(R, '~T~est List', Control)));
  173.  
  174.   R.Assign(50,10,61,13);
  175.   Control := New(PMultiCheckboxes, Init(R,
  176.     NewSItem('Box 1',
  177.     NewSItem('Box 2',
  178.     NewSItem('Box 3',Nil))), 2, cfOneBit, ' X'));
  179.   Control^.Options := Control^.Options OR ofFramed;
  180.   Dlg^.Insert(Control);
  181.  
  182.     R.Assign(49,8,60,9);
  183.     Dlg^.Insert(New(PLabel, Init(R, '~M~ulticheck', Control)));
  184.  
  185.   R.Assign(29,15,47,17);
  186.   Control := New(PButton, Init(R, '~D~efault Button', cmOk, bfDefault));
  187.   Dlg^.Insert(Control);
  188.  
  189.   R.Assign(51,15,70,17);
  190.   Control := New(PButton, Init(R, '~N~ormal Button', cmCancel, bfNormal));
  191.   Dlg^.Insert(Control);
  192.  
  193.   R.Assign(3,2,24,3);
  194.   Control := New(PStaticText, Init(R, ^C'This is a test dialog'));
  195.   Dlg^.Insert(Control);
  196.  
  197.   Dlg^.SelectNext(False);
  198.   MakeTVDialog := Dlg;
  199. end;
  200.  
  201. procedure TMyApp.HandleEvent(var Event: TEvent);
  202. begin
  203.   inherited HandleEvent(Event);
  204.   Case Event.What of
  205.     evCommand : Case Event.Command of
  206.       cmTryTV : Application^.ExecuteDialog(MakeTVDialog, NIL);
  207.       cmTryTVCC : Application^.ExecuteDialog(MakeTVCCDialog, NIL);
  208.     end;
  209.   end;
  210. end;
  211.  
  212. begin
  213.   MyApp.Init;
  214.   MyApp.Run;
  215.   MyApp.Done;
  216. end.
  217.